\documentclass[aspectratio=169]{ctexbeamer}
\input{setup/format.tex}

\title{\TeX/\LaTeX 及 \textsc{Corp} 宏集使用介绍}
\subtitle{施工图设计说明出图方式交流}
\author{张晨南}
\institute{市政工程设计院}

\begin{document}

\begin{frame}
  \maketitle
\end{frame}

\begin{frame}{施工图设计说明出图方式}
  \centering
  \begin{tikzpicture}[
    >=stealth,
    method/.style ={
      rectangle,rounded corners=3pt,node distance=18mm,inner sep=3pt,
      draw=green!50!black ,fill=green!50!black!20}
  ]
    \node (dfinal) {\Huge \faFile*[regular]\,\texttt{dwg}};
    \onslide<2->{
      \node  (autodesk) at ([xshift=-10cm,yshift=2cm]dfinal.center){\includegraphics[height=1cm]{figures/autocad.png}};
    \draw[thick,color=red!70!black](autodesk)-- (dfinal) node[midway,above,sloped,text=black]{\scriptsize AutoCAD 图元或者其他 OLE 嵌入};
    }
    \onslide<3->{
      \node [method] (docx) at ([xshift=-6cm]dfinal.center){\faFile*[regular]\,\texttt{docx}};
    \node  (MSword) at ([xshift=-4cm,yshift=-0.75cm]docx.center){\includegraphics[height=1cm]{figures/Microsoft-Word.png}};
    \draw[thick,color=blue!70!black](MSword)--(docx)--(dfinal)node[midway,above,sloped,text=black]{\scriptsize 内置或 OLE 嵌入};
    }
    \onslide<4->{
      \node [method] (pdf) at ([xshift=-5cm,yshift=-1.5cm]dfinal.center){\faFilePdf[regular]\,\texttt{pdf}};
    \node  [method] (pdocx) at ([xshift=-2.5cm]pdf.center){\faFileWord[regular]\,\texttt{docx}};
    \draw[thick,color=green!70!black](MSword)--(pdocx)--(pdf)node[midway,above,text=black]{\scriptsize 转换}--(dfinal)node[above,sloped,midway,text=black]{\scriptsize PDF 参考底图};
    }
    \onslide<5->{
      \node [method] (tex) at ([yshift=-1.5cm]pdf.center){\faFileCode[regular]\,\texttt{tex}};
      \node (texlive) at ([xshift=-5cm]tex.center){\includegraphics[height=1cm]{figures/TeXworksicon.png}};
      \draw[ultra thick,color=green!70!black](texlive)--(tex)--(pdf)node[right,midway,text=black]{\scriptsize \TeX{} 编译}--(dfinal);
    }
    \onslide<6->{
      \node (pfinal) at ([yshift=-3cm]dfinal.center) {\Huge \faFilePdf[regular]\,\texttt{pdf}};
      \draw[ultra thick,color=green!70!black](tex)--(pfinal)node[above,midway,text=black]{\scriptsize \TeX{} 编译};
      }
  \end{tikzpicture}

  \onslide<6>{本质上还是形成 \faFilePdf[regular]{}，而 \faFilePdf[regular]{} 是最适合图文归档的文件格式}
\end{frame}

\begin{frame}{理由}
  \begin{itemize}[<+->]\small
    \item \faFilePdf[regular]{} 格式是\alert{国际标准}（ISO 32000）。
    \item \faFilePdf[regular]{} 格式是一种页面描述，很难发生页面改动变化（稳定）。
    \item 从协同工作的角度考虑：
    \begin{itemize}[<+->]\scriptsize
      \item AutoDesk 产品很容易实现图纸的协同，\fname{dwg}$\to$\fname{pdf} 没有任何技术门槛。
      \item AutoDesk 产品不以处理文字为主的出版物见长，即便施工图设计说明的内容相对较少，可以暂时以 AutoCAD 应付，初步设计的协同工作主要以文字文本为主，初步设计阶段的协同工作是一个躲不掉的问题。
      \item 字处理软件 Microsoft Word、WPS 等在协同工作的实现上技术门槛比较高，而且字处理软件的排版功能非常一般。
      \item \TeX{}/\LaTeX{} 以排版见长，处理的是\alert{纯文本文件}，可以利用 \faGit{} 进行协同工作和版本管理。
    \end{itemize}
    \item \faFilePdf[regular]{} 格式附件特性完全可以实现将原始文档随 PDF 文件一同归档。
  \end{itemize}
\end{frame}

\begin{frame}[fragile]{PDF 附件功能}
  \begin{columns}
    \column{0.17\linewidth}
    \fbox{\includegraphics[width=\linewidth]{figures/pdfattach.png}}
    \column{0.8\linewidth}
\begin{commandshell}[C:\textbackslash Documents]
pdfattach [options] <input-PDF-file> <file-to-attach> <output-PDF-file>
\end{commandshell}
\begin{commandshell}[C:\textbackslash Documents]
pdfdetach [options] <PDF-file> 
pdfdetach -list <PDF-file>
pdfdetach -save <int> <PDF-file>
pdfdetach -savefile <string> <PDF-file>
pdfdetach -saveall <PDF-file>
\end{commandshell}
  \end{columns}
\end{frame}

\begin{frame}{桥梁设计标准化模板发布}
  \url{https://doc.tjad.cn}
  \begin{itemize}\footnotesize
    \item \directory{集团技术标准/2021.09.30《桥梁设计标准化模板（施工图）》.pdf}
    \item \directory{集团技术标准/2021.09.30《桥梁设计标准化模板（施工图）》附录E.pdf}
    \item \directory{集团技术标准/2021.09.30《桥梁设计标准化模板（施工图）》使用模板和相关软件及配置.rar}（可\faDownload ）
  \end{itemize}
  《桥梁设计标准化模板（施工图）》最初设计的时候没有对出图方式作太多的考虑
\end{frame}

\begin{frame}{模板设计的初衷}
  \begin{block}{模板的特征}
    \begin{itemize}[<+->]\footnotesize
      \item 规范化：格式与表现样式相对固定统一
      \item 模块化：LEGO，丰富的模块在一个基本框架下自由组装
      \item 功能强：
      \begin{itemize}\scriptsize
        \item 关联的内容可以自动修改
        \item 避免低级错误
        \item 合作撰写便利
        \item 能够形成知识积累
      \end{itemize}
      \item 易管理：内容补充、升版方便，设计人员更新模板方便
    \end{itemize}
  \end{block}
\end{frame}

\begin{frame}{软件比较}
  \begin{columns}[t]
    \column{0.5\linewidth}
    \begin{block}{\TeX/\LaTeX}
      \begin{itemize}\footnotesize
        \item<2-> 开源自由软件
        \item<3-> What You Mean Is What You Get
        \item<4-> 编程特性可以从文档结构到文档细节进行控制
        \item<5-> 开发了 \textsc{Corp} 宏集，涵盖了报告、短文、计算书、设计文档、信函和图纸的文档类
        \item<6-> 实现了预想中的绝大部分功能
      \end{itemize}
    \end{block}
    \column{0.5\linewidth}
    \begin{block}{Word}
      \begin{itemize}\footnotesize
        \item<2-> 商业软件
        \item<3-> What You See Is What You Get
        \item<4-> 文档结构与文档细节的控制需要有高超的 Word 应用技巧
        \item<5-> 没人有兴趣开发 VBA 为基础的宏，Microsoft 自己都已经要放弃 VBA 了
        \item<6-> 技术限制，\fname{dotx} 的功能不够丰富
      \end{itemize}
    \end{block}
  \end{columns}
\end{frame}

\begin{frame}{\LaTeX{} Vs. MS Office}
  \begin{columns}
    \column{0.5\linewidth}
    \begin{tikzpicture}[scale=0.8, every node/.style={scale=0.8}]
      \pgfplotsset{every axis/.append style={line width=1pt}}
      \begin{axis}[%
        axis x line=bottom,
        axis y line=left,
        ymin=0,
        xtick={},
        xticklabels={},
        xlabel near ticks,
        ytick={},
        yticklabels={},
        ylabel near ticks,
        xlabel={文档大小和复杂性},
        ylabel={耗时和难度},
        ]
        \begin{scope}[decoration={random steps,segment length=1pt,amplitude=0.1pt},decorate]
          \addplot [red!70!black, samples=130, domain=0:2] {1+2*x^3}
                    node[near end, sloped, above] {MS Office}
                    node[anchor=east, pos=.98] {\tiny (我不玩了！再见$\cdots$)};
           \addplot [green!70!black, samples=130, domain=0:2] {2+x}
                    node[near end, sloped, above] {\LaTeX};
        \end{scope}
      \end{axis}
    \end{tikzpicture}
    \pause
    \column{0.5\linewidth}
    \begin{tikzpicture}[scale=0.8, every node/.style={scale=0.8}]
      \pgfplotsset{every axis/.append style={line width=1pt}}
      \begin{axis}[%
        axis x line=bottom,
        axis y line=left,      
        xtick={},
        xticklabels={},
        xlabel near ticks,
        ytick={},
        yticklabels={},
        ylabel near ticks,
        xlabel={需求复杂度/经验},
        ylabel={学习难度},
        ]
        \begin{scope}[decoration={random steps,segment length=1pt,amplitude=0.1pt},decorate]
          \addplot [red!70!black, samples=130, domain=0:2] {0.07*atan(8*x-8)+0.07*atan(8)}
                    node[near end, sloped, above] {MS Office};
          \addplot [green!70!black, samples=130, domain=0:2] {5-0.5/(x+0.1)}
                    node[near end, sloped, above] {\LaTeX};
        \end{scope}
      \end{axis}
    \end{tikzpicture}
  \end{columns}
\end{frame}

\begin{frame}[fragile]{简单的例子}
  \begin{columns}
    \tiny
    \column{0.68\linewidth}
  \hrule\vskip3pt
\begin{latexcode}
\documentclass{ctexart}
\usepackage[a4paper,margin=2.5cm]{geometry}
\title{基于中医诊治理论的航空发动机故障诊断新技术初探}
\author{董云帆\thanks{收稿日期: 2017-5-17} \and 于功敬 \and 房红征 \and 王浩 \and 樊焕贞}
\date{}
\ctexset{section/format+={\raggedright}}
\begin{document}
\maketitle
\begin{abstract}
本文针对航空发动机故障诊断应用实际需求，结合传统中医理论中的整体概念，动态辨证观及经验累积的方法，抽象出新的方法论，利用中医诊断理论的思维方式，提出航空发动机故障诊断新技术框架，基于中医整体建模，辨证治疗的思维及经验累积的方法论，建立新的发动机故障诊断理论体系。
\end{abstract}
\section{概述} ……
\section{基本理论} ……
\section{算例}
\subsection{算例一} ……
\subsection{算例二} ……
\section{结论} ……
\section*{参考文献} ……
\end{document}
\end{latexcode}
  \hrule\vskip3pt
  \column{0.32\linewidth}
  \onslide<2->{\fbox{\includegraphics[height=0.75\textheight]{figures/exp3.pdf}}}  
  \end{columns}
\end{frame}

\begin{frame}{接下来主要是一些实例的演示}
  \begin{itemize}
    \item 施工图设计总说明 \href{demo/CSDescription.tex}{\faLink}
    \item 初步设计文档 \href{demo/exp-corpdoc.tex}{\faLink}
    \item 方案设计文档 \href{demo/exp-corpbook.tex}{\faLink}
    \item 计算书和报告、短文 \href{demo/exp-corpart-calc.tex}{\faLink}
    \item 信函 \href{demo/exp-corpletter.tex}{\faLink}
  \end{itemize}
\end{frame}

\begin{frame}{\textsc{Corp} 宏集和模板文件的管理}
  目前完全采用 \faGit{} 进行管理：
  \begin{itemize}\footnotesize
    \item 全世界最先进的分布式版本管理系统，没有之一
    \item 简单使用的网络教程参考：\url{https://www.liaoxuefeng.com}
    \item \href{https://www.github.com}{\faGithub}、 \href{https://www.gitee.com}{Gitee} 提供互联网远程 \faGit{} 仓库托管服务
    \item 市政工程院搭建 GitLab 平台提供局域网远程 \faGit{} 仓库托管服务，地址：\url{http://172.18.62.249:9000}，可自行注册账号。
  \end{itemize}
\end{frame}

\begin{frame}{\textsc{Corp} 宏集和模板文件的管理}
  市政工程设计院 GitLab 平台 \url{http://172.18.62.249:9000} \par
  \includegraphics[width=\linewidth]{figures/gitlab.png}
\end{frame}

\begin{frame}[fragile]{\faGit{} 主要操作}
  \begin{itemize}\footnotesize
    \item 克隆仓库
\begin{commandshell}[C:\textbackslash texlive\textbackslash texmf-local\textbackslash tex\textbackslash latex\textbackslash local]
git clone http://172.18.62.249:9000/chennanzhang/cnspecification.git
\end{commandshell}
    \item 远程推送
\begin{commandshell}[D:\textbackslash MyProject]
git push origin master
\end{commandshell}
    \item 远程拉取
\begin{commandshell}[C:\textbackslash texlive\textbackslash texmf-local\textbackslash tex\textbackslash latex\textbackslash  local\textbackslash  cnspecification]
git pull
\end{commandshell}
    \item 其实 VS Code 有扩展能方便地完成这些工作，前提是安装好 \faGit
  \end{itemize}
\end{frame}

\begin{frame}{Overleaf 在线编译}
  \centering\includegraphics[width=\linewidth]{figures/overleaf.png}
\end{frame}

\begin{frame}{局域网在线编译}
  市政工程设计院 Overleaf Community Edition 平台 \url{http://172.18.62.136:5000} \par
  \includegraphics[width=\linewidth]{figures/overleafc.png}
\end{frame}

\begin{frame}[standout]
  \textsc{Corp} 宏集主要是针对市政、公路行业特点设计的
  
  没有考虑建筑行业的特点

  具有建筑行业特点的文档类其实也是有办法设计的
  
  \LaTeX{} 无极限

  要不再看一些其他有趣的东西？
\end{frame}

\begin{frame}[fragile]{有用的 PDF 工具}
  \begin{columns}
    \column{0.25\linewidth}
    \begin{itemize}
      \item \texttt{pdfattach}
      \item \texttt{pdfdetach}
      \item \texttt{pdfcrop}
      \item \texttt{pdftocairo}
      \item \texttt{pdfseparate}
      \item \texttt{pdfunite}
    \end{itemize}
    \column{0.6\linewidth}
\begin{commandshell}
for %a in (*.pdf) do pdfcrop %a 
for %a in (*.pdf) do pdftocairo -svg %a 
\end{commandshell}
\end{columns}
\end{frame}
  
\begin{frame}{幻灯片{\footnotesize（BTW: 这个东西要用英文也是 slides，不是屁屁剔）}}
  \centering\includegraphics[height=0.37\textheight]{figures/beamer1.png}\qquad\includegraphics[height=0.37\textheight]{figures/beamer2.png}\\[5mm]
  \includegraphics[height=0.37\textheight]{figures/beamer5.png}\qquad\includegraphics[height=0.37\textheight]{figures/beamer4.png}
\end{frame}

\begin{frame}{动画}
\centering
\begin{animateinline}[controls=all]{9}%
  \multiframe{15}{rx=-4.0+0.5}{
      \begin{tikzpicture}[scale=0.7,>=stealth]
        \filldraw [top color=gray,bottom color=white,thick] (-5.5,0) rectangle (5.5,0.5);
      \filldraw [darkgray,thick] (-5.8,0.55) rectangle (5.8,0.7);
      \draw [thin] (-5,0)--++(-0.15,-0.2)--++(0.3,0)--cycle;
      \draw [thin] (5,-0.1) circle (0.1);
      \filldraw [ball color=lightgray] (-5.6,0.5)--++(-0.2,0)--++(0,-1.5)--++(1.2,0)--++(0,0.8)--++(-1.0,0)--cycle;
      \filldraw [ball color=lightgray] (5.6,0.5)--++(0.2,0)--++(0,-1.5)--++(-1.2,0)--++(0,0.8)--++(1.0,0)--cycle;
      \draw [ultra thick,->] (\rx,1.5)--++(0,-0.8) node [at start,above] {$F_1$};
      \draw [ultra thick,->] (\rx+1,1.5)--++(0,-0.8) node [at start,above] {$F_2$};
      \begin{scope}[yshift=4cm]
        \filldraw [top color=gray,bottom color=white,thick] (-5.5,0) rectangle (5.5,0.5);
        \filldraw [darkgray,thick] (-5.8,0.55) rectangle (5.8,0.7);
        \draw [thin] (-5,0)--++(-0.15,-0.2)--++(0.3,0)--cycle;
        \draw [thin] (5,-0.1) circle (0.1);
        \filldraw [ball color=lightgray] (-5.6,0.5)--++(-0.2,0)--++(0,-1.5)--++(1.2,0)--++(0,0.8)--++(-1.0,0)--cycle;
        \filldraw [ball color=lightgray] (5.6,0.5)--++(0.2,0)--++(0,-1.5)--++(-1.2,0)--++(0,0.8)--++(1.0,0)--cycle;
      \coordinate (B) at (\rx, 0.82);
      \coordinate (F) at (\rx+1, 0.82);
      \draw [thick](B) circle (0.10);
      \draw [thick](F) circle (0.10);
      \filldraw [ball color = blue,thick]([shift=(195:0.15)]B) arc (195:-15:0.15) --([shift=(0:0.25)]B)--
      ++(0.5,0)--([shift=(195:0.15)]F) arc(195:-15:0.15)
      --++(0.16,0)--++(0.02,0.08)--++(-0.09,0.04)--++(-0.03,0.1)--++(-0.35,0.07)--++(-0.22,0.19)
      --++(-0.18,0.02)--++(-0.13,0.0)--++(-0.25,-0.03)--++(-0.38,-0.21)--++(-0.01,-0.12)
      --++(-0.03,-0.03)--++(0,-0.04)--++(0.03,-0.04)--cycle;
      \end{scope}
      \fill[opacity=0.5,color=teal](-5,0)--(\rx,0.02*\rx*\rx+0.01*\rx-0.45)--(\rx+1,0.02*\rx*\rx+0.03*\rx-0.44)--(5,0)--cycle;
      \end{tikzpicture}}
  \end{animateinline}
\end{frame}

\begin{frame}{嵌入真 3D 模型}
\centering
\includemedia[height=0.8\textheight,3Dmenu]{\includegraphics{figures/ml.pdf}}{figures/Drawing1.u3d}
\end{frame}

\begin{frame}{学术海报}
\includegraphics[width=0.85\linewidth]{figures/hb.pdf} {\tiny 图片来源：\href{https://www.latexstudio.net/archives/51465.html}{\faLink}}
\end{frame}

\begin{frame}{试卷}\centering
\fbox{\includegraphics[height=0.8\textheight]{figures/shijuan.pdf}}\quad{\tiny 图片来源：\href{https://www.latexstudio.net/index/details/index/mid/695.html}{\faLink}}
\end{frame}
\begin{frame}{答题卡}\centering
\fbox{\includegraphics[height=0.8\textheight]{figures/dtk.pdf}}\quad{\tiny 图片来源：\href{https://www.latexstudio.net/archives/9513.html}{\faLink}}
\end{frame}

\begin{frame}{乐谱}
\centering\fbox{\includegraphics[page=1,height=0.8\textheight]{figures/gongxi.pdf}}\fbox{\includegraphics[page=2,height=0.8\textheight]{figures/gongxi.pdf}}\quad{\tiny 图片来源：\href{https://www.latexstudio.net/archives/11337.html}{\faLink}}
\end{frame}

\begin{frame}{弈棋耍大牌}
\begin{columns}
\column{0.4\linewidth}
\includegraphics[height=0.75\textheight]{figures/wuzi.pdf}\pause
\column{0.6\linewidth}
\includegraphics[height=0.75\textheight]{figures/cbridge.pdf}\pause
\mahjong{22"2z}
\end{columns}
\end{frame}

\begin{frame}{The End}
  \mbox{}\par
  \vspace{\stretch{1}}
  \huge 感谢关注！
  \par\vskip5pt 
  \hrule
  \par\vskip5pt
  {\small 本幻灯片许可证：\href{https://creativecommons.org/licenses/by-sa/4.0/deed.zh-Hans}{Creative Commons Attribute-ShareAlike 4.0 International}} 
  \begin{center}
  \LARGE \faCreativeCommons\,\faCreativeCommonsBy\,\faCreativeCommonsSa
  \end{center}
  \begin{flushright}
    \parbox{4.5cm}{\raggedleft\scriptsize 本幻灯片的获取请扫这里：\\ 取消逐帧显示效果时可补充\oarg*{handout}选项编译。}
  \fbox{\qrcode[height=1.5cm]{https://gitee.com/chennanzhang/Corpintro/releases/1.0}}
  \end{flushright}
\end{frame}
\end{document}